#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <iostream>

class American {
public:
	American();
	void setUnderlyingValue(double);
	void setVol(double);
	void setStrike(double);
	void setStrike2(double); //applicable for option strategies: strike < strike2 < strike3
	void setStrike3(double); //applicable for option strategies: strike < strike2 < strike3
	void setInterest(double);
	void setTimeToMaturity(double); 
	void setPutCallFlag(int); //1 = call; 2 = put
	void setDividendRate(double); 
	void setBetas(double, double, double);
	void compute();
	void printInputs();
	double getOptPrice();
	double getDelta();
	double getGamma();
	double getVega();
	double getTheta();
	double LongCallStraddle();
	double LongCallSpread();
	double LongButterflySpread();

private:
	double underPrice;
	double vol;
	double strike;
	double strike2;	//applicable for option strategies: strike < strike2 < strike3
	double strike3;  //applicable for option strategies: strike < strike2 < strike3
	double interest;
	double days;
	int putcall;
	double current_value;
	double maturity;
	double days_in_year;
	double delta;
	double gamma;
	double theta;
	double dividend_rate;
	double beta0;
	double beta1;
	double beta2;
	
	
};
